package NP;
import java.io.*;
import java.util.*;
//
//  PblBinPack.java
//  
//
//  Created by tison on 09/11/09.
//  Copyright 2009 __MyCompanyName__. All rights reserved.
//

abstract public class NPRed extends NP
{   
	//la seule methode abstraite: c'est la reduction a definir!
	// Contrainte: redTo doit etre polynomial!
	abstract public NP redPolyTo();	
	
	//si Q se reduit polynomialement en R et Q est  NP : alors   aussi NP!
	//dans CertificatRed on utilise la notion de  certificat  du pb dans le quel le pb se reduit
	public CertificatRed cert(){return new CertificatRed(this);}  
	
	public boolean aUneSolution() {return this.redPolyTo().aUneSolution();}
	
	
}
